Python scipy.interpolate插值
全部标签 我正在尝试插入一些数据以进行绘图。例如,给定N个数据点,我希望能够生成一个由10*N左右的插值数据点组成的“平滑”图。我的方法是生成一个N×10*N矩阵,然后计算原始向量与我生成的矩阵的内积,得到一个1×10*N向量。我已经计算出我想用于插值的数学,但我的代码很慢。我是Python的新手,所以我希望这里的一些专家能给我一些想法,让我可以尝试加速我的代码。我认为部分问题在于生成矩阵需要调用以下函数10*N^2次:defsinc(x):importmathtry:returnmath.sin(math.pi*x)/(math.pi*x)exceptZeroDivisionError:ret
这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:UnpythonicwayofprintingvariablesinPython?在PHP中可以这样写:$fruit='Pear';print("Hey,$fruit!");但是在Python中它是:fruit='Pear'print("Hey,{0}!".format(fruit))有没有办法让我在字符串中插入变量?如果不是,这怎么更像pythonic?获得引用的任何人的奖励积分
Python中ConfigParser的文档大量讨论了所谓的“神奇插值”功能,但从未解释它的实际作用。我已经尝试搜索它,但没有找到任何答案。 最佳答案 下面的bad_subj会被解析为'Notify[failure]'bad_subj:%(subj)s[failure]subj:Notify 关于Python,配置解析器:Whatis'magicalinterpolation',我们在StackOverflow上找到一个类似的问题: https://stack
我有一个按以下方式定义的查找表:|标题行元素为(hh)标题列(inc)元素为用户将输入一个值示例(1.3,25,000)、(0.2,50,000)等等。scipy.interpolate()应该进行插值以确定正确的值。目前,我能做到这一点的唯一方法是使用一堆if/elifs,如下所示。我很确定有更好、更有效的方法可以做到这一点这是我到目前为止所得到的:importnumpyasnpfromscipyimportinterpolateif(ua==1):if(inc=1&hh 最佳答案 编辑:更新内容以反射(reflect)您在上面的
编辑:Paul在下面解决了这个问题。谢谢!我正在尝试将3x3矩阵重新采样(放大)到5x5,用interpolate.interp2d或interpolate.RectBivariateSpline(或任何有效的方法)填充中间点。如果有一个简单的现有函数可以执行此操作,我想使用它,但我还没有找到它。例如,一个函数的工作方式如下:#upscale2x2to4x4matrixSmall=([[-1,8],[3,5]])matrixBig=matrixSmall.resample(4,4,cubic)所以,如果我从3x3矩阵/数组开始:0,-2,0-2,11,-20,-2,0我想计算一个新的5
这是我关于stackoverflow的第一个问题。对我放轻松!我有两个数据集由不同的采集系统以不同的采样率同时采集。一个非常规则,另一个则不是。我想创建一个包含两个数据集的数据帧,使用规则间隔的时间戳(以秒为单位)作为两者的引用。不规则采样的数据应该插值到规则间隔的时间戳上。这里有一些玩具数据展示了我正在尝试做的事情:importpandasaspdimportnumpyasnp#evenlyspacedtimest1=np.array([0,0.5,1.0,1.5,2.0])y1=t1#unevenlyspacedtimest2=np.array([0,0.34,1.01,1.4,1
我试图重现我的一个程序中的主要瓶颈。我想得到linearly(orratherbilinearly)interpolated几个非整数像素值同时的值。不是每个像素坐标都以相同方式扰动的情况。下面是一个完整/最小的脚本以及演示问题的注释。如何加快result的计算速度?importnumpyasnpimporttimeim=np.random.rand(640,480,3)#my"image"xx,yy=np.meshgrid(np.arange(im.shape[1]),np.arange(im.shape[0]))print"Checkthesearetherightindices:
我正在为一个应用程序编写一个插件,该应用程序在二进制分发版中包含NumPy,但不包含SciPy。我的插件需要将数据从一个常规3D网格插入到另一个常规3D网格。从源代码运行,这可以使用scipy.ndimage非常有效地完成,或者,如果用户没有安装SciPy,则可以使用我编写的编织生成的.pyd。不幸的是,如果用户正在运行二进制文件,那么这些选项都不可用。我写了一个简单的trilinearinterpolationpython中的例程给出了正确的结果,但对于我使用的数组大小,需要很长时间(~5分钟)。我想知道是否有一种方法可以仅使用NumPy中的功能来加速它。就像scipy.ndimag
我想通过scipy计算样条插值的系数。在MATLAB中:x=[0:3];y=[0,1,4,0];spl=spline(x,y);disp(spl.coefs);它会返回:ans=-1.50005.5000-3.00000-1.50001.00003.50001.0000-1.5000-3.50001.00004.0000但我不能通过scipy中的interpolate.splrep做到这一点。你能告诉我如何计算吗? 最佳答案 我不确定是否有任何方法可以从scipy中准确获取这些系数。scipy.interpolate.splrep给
我有一个3D数组,我需要在一个轴(最后一个维度)上进行插值。假设y.shape=(nx,ny,nz),我想为每个(nx,ny)在nz中进行插值。但是,我想在每个[i,j]中插入一个不同的值。下面是一些示例代码。如果我想插入一个值,比如说new_z,我会像这样使用scipy.interpolate.interp1d#yisa3Dndarray#xisa1Dndarraywiththeabcissavalues#new_zisanumberf=scipy.interpolate.interp1d(x,y,axis=-1,kind='linear')result=f(new_z)然而,对于这